\subsection{Police Force}
\label{sec:police}
This team has two main goals: to clear obstructed paths and to scout unvisited areas of the map. The first goal can be divided into three jobs with different priorities, in order: i) clear obstructed paths of important buildings, ii) clear paths that are obstructing other agents, iii) clear random obstructed paths. The second goal is to continuously search the map for survivors and fire spots.
% Divididos em 3 grupos: "fixo", sob demanda e batedor. Fixos limparão caminhos pré-determinados. Sob demanda irão limpar caminhos dos agentes que os chamarem. Batedores irão coletar informações pelo mapa.

To achieve these goals, the police force agents will use a behaviour-based controller. Each agent chooses a behaviour based on its position and the location of important features on the map. The behaviours are:

\begin{itemize}

\item Sweeper: the ``sweeper'' behaviour will try to clear important paths. These paths includes the vicinity of important map features;

\item By-demand: the ``by-demand'' behaviour will clear their own vicinity and will constantly listen to the communication channels for ``help messages'';

\item Scout: the ``scout'' behaviour will keep searching inside buildings for survivors.

\end{itemize}

\subsubsection{Task Allocation}
Initially, the map will be divided into \emph{n} clusters, where \emph{n} is the number of police force team agents. These clusters will be created taking into account the size of the map and the localization of each agent. Agents who are near an important feature of the map will be given the ``sweeper'' behaviour, while agents who are on other areas will be given the ``by-demand'' behaviour. When an agent finishes its tasks, it will then be assigned to the ``scout'' behaviour.

The ``sweeper'' agent task is simple and direct: it will clear its cluster's paths untill all paths are clear. It will not listen to any communication channel or stop its task for any reason. The ``by-demand'' agent task is more complicated, as it will be listening to a communication channel and responding  to help calls. An agent from any other team will be able to broadcast a distress message to the police force team informing that it is trapped and need assistance. This message will contain the sender's current task and location. When a ``by-demand'' agent receives a help message and it is the closest to the sender agent, this ``by-demand'' agent will drop its current task and will respond to that message.

Both behaviours, ``sweeper'' and ``by-demand'', will keep listening to help messages from civillians and will keep searching for fire spots, in order to report these events to the proper agent team. Once they finish their tasks, they will be assigned to the ``scout'' behaviour. Agents with this behaviour will wander through the map helping other police force team agents and searching for survivors and fire spots.
% Inicialmente, existirão apenas fixos e sob demanda. Quando um fixo terminar sua tarefa, ele se torna sob-demanda. Ao longo do tempo, os sob demanda viram batedores.
% Implementar o Q-learning no agente policia
% dividi-los em dois times, um fica responsavel por desbloquear caminhos 'vitais' (até refugio ou hidrantes, por ex.) e outro time escuta os canais dos outros agentes para limpar o caminho deles até suas tarefas.

%\subsubsection{Task Allocation}
